package com.collect.senegal.zhiScene.zhiCheckIn;

import android.content.Context;

import com.collect.senegal.zhiBase.BaseContract;
import com.collect.senegal.zhiBean.zhiReceive.ZHIRCheckInOutEntity;
import com.collect.senegal.zhiBean.zhiReceive.ZHIRSysConfigEntity;
import com.collect.senegal.zhiBean.zhiSend.ZHISCheckInOutEntity;
import com.collect.senegal.zhiBean.zhiSend.ZHISendEntity;

import java.util.ArrayList;

public class ZHICheckInContract {
    interface View extends BaseContract.View {
        /**
         * 错误信息返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-14 17:54
         */
        void onGetErrorInfo(String apiName);

        /**
         * 上班成功返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onGetCheckState(ZHIRCheckInOutEntity zhirCheckInOutEntity);

        /**
         * 上班成功返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onGetCheckStateWhenCheckedCompleted(ZHIRCheckInOutEntity zhirCheckInOutEntity);

        /**
         * 上班成功返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onCheckInOut();

        /**
         * 历史记录返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onGetCheckHistory(ArrayList<ZHIRCheckInOutEntity> zhirCheckInOutEntityArrayList);

        /**
         * 获取app配置返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onGetAppConfig(ZHIRSysConfigEntity zhirSysConfigEntity);
    }

    interface Presenter extends BaseContract.Presenter<View> {

        /**
         * 打卡状态
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void getCheckState(Context context, ZHISendEntity zhiSendEntity);

        /**
         * 打卡状态
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void getCheckStateWhenCheckedCompleted(Context context, ZHISendEntity zhiSendEntity);

        /**
         * 上下班
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void checkInOut(Context context, ZHISCheckInOutEntity zhisCheckInOutEntity);

        /**
         * 历史记录
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void getCheckHistory(Context context, ZHISendEntity zhiSendEntity);

        /**
         * 获取app配置
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void getAppConfig(Context context, ZHISendEntity zhiSendEntity);
    }
}
